In conventional systems, introducing a new set of functions that behave differently from an original set of functions included in a dynamic link library includes providing a new dynamic link library name or providing the functions in the new set with names that are different from the functions in the original set. These conventional schemes necessitate extensive changes to applications that need to utilize the new set of functions. For example, an application may need to be recompiled to utilize the new set of functions. Besides being time-consuming and expensive to implement, the aforementioned required changes pose a risk of causing the application to malfunction (i.e., by introducing a software bug). Thus, there exists a need to overcome at least one of the preceding deficiencies and limitations of the related art.